package com.dzxy.control;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


// 注解
/*
@WebServlet(
	name = "XXServlet", urlPatterns = { "/XX" },
	initParams = { @WebInitParam(name = "username", value = "qst") },
	loadOnStartup = 0, asyncSupported = true,
	displayName = "XXServlet",description="Servlet样例"
	)
如果注解()中直接给定一个值，则是URLPatterns的配置
 */
@WebServlet("/UserLoginServlet") // 简化的写法
public class UserLoginServlet extends HttpServlet {
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 可以通过request对象获取ServletContext对象
        request.getServletContext().getContextPath();

        // 响应浏览器客户端的get请求
        // 服务器进行响应处理
        // 解决中文乱码的问题
        request.setCharacterEncoding("UTF-8");
        // 获取用户端页面发送的表单数据
        // 用户名
        String strAdminName = request.getParameter("adminName");// 参数名要和form表单中的name属性值保持一致
        // 密码
        String strAdminPsw = request.getParameter("adminPsw");
        // TODO 登录业务的逻辑验证处理
        // 输出到控制台
        System.out.println("登录用户名：" + strAdminName + ";密码：" + strAdminPsw);
        // 跳转到业务逻辑处理成功页面
        // 将需要在页面上显示的数据缓存到jsp的四大作用域中；一般常用的是 request和session
        request.getSession().setAttribute("loginedName", strAdminName);  // 缓存到session作用域对象中
        // 转发   logined.jsp页面(转发或重定向 二选一)
        request.getRequestDispatcher("logined.jsp").forward(request, response);
        // 重定向   logined.jsp页面(转发或重定向 二选一)
        //response.sendRedirect("logined.jsp");
    }
}